import com.powerfl.frm.taf.*;

include 'parser/string.as';
include 'parser/number.as';
include 'parser/operator.as';
include 'parser/array.as';
include 'parser/object.as';
include 'parser/byte.as';
include 'parser/ini.as';
include 'parser/template.as';
include 'parser/expression.as';
include 'parser/script.as';
include 'parser/encode.as';

static internal function getClass( $class:String, $refer:Object = null ):Class{
	var temp:*;
	$class = trim( $class );
	switch( $class ){
	case'ActionScriptVersion':case'AVM1Movie':case'Bitmap':case'BitmapData':case'BitmapDataChannel':
	case'BlendMode':case'CapsStyle':case'ColorCorrection':case'ColorCorrectionSupport':case'DisplayObject':
	case'DisplayObjectContainer':case'FrameLabel':case'GradientType':case'Graphics':
	case'GraphicsBitmapFill':case'GraphicsEndFill':case'GraphicsGradientFill':case'GraphicsPath':
	case'GraphicsPathCommand':case'GraphicsPathWinding':case'GraphicsShaderFill':case'GraphicsSolidFill':
	case'GraphicsStroke':case'GraphicsTrianglePath':case'InteractiveObject':case'InterpolationMethod':
	case'JointStyle':case'LineScaleMode':case'Loader':case'LoaderInfo':case'MorphShape':case'MovieClip':
	case'PixelSnapping':case'Scene':case'Shader':case'ShaderData':case'ShaderInput':case'ShaderJob':
	case'ShaderParameter':case'ShaderParameterType':case'ShaderPrecision':case'Shape':case'SimpleButton':
	case'SpreadMethod':case'Sprite':case'Stage':case'StageAlign':case'StageDisplayState':case'StageQuality':
	case'StageScaleMode':case'SWFVersion':case'TriangleCulling':
		$class = 'flash.display.'+ $class; break;
	case'ColorTransform':case'Matrix':case'Matrix3D':case'Orientation3D':case'PerspectiveProjection':
	case'Point':case'Rectangle':case'Transform':case'Utils3D':case'Vector3D':
		$class = 'flash.geom.'+ $class; break;
	case'Camera':case'ID3Info':case'Microphone':case'Sound':case'SoundChannel':case'SoundCodec':
	case'SoundLoaderContext':case'SoundMixer':case'SoundTransform':case'Video':
		$class = 'flash.media.'+ $class; break;
	case'FileFilter':case'FileReference':case'FileReferenceList':case'LocalConnection':case'NetConnection':
	case'NetStream':case'NetStreamInfo':case'NetStreamPlayOptions':case'NetStreamPlayTransitions':
	case'ObjectEncoding':case'Responder':case'SharedObject':case'SharedObjectFlushStatus':
	case'Socket':case'URLLoader':case'URLLoaderDataFormat':case'URLRequest':case'URLRequestHeader':
	case'URLRequestMethod':case'URLStream':case'URLVariables':case'XMLSocket':
		$class = 'flash.net.'+ $class; break;
	case'AntiAliasType':case'CSMSettings':case'Font':case'FontStyle':case'FontType':case'GridFitType':
	case'StaticText':case'StyleSheet':case'TextColorType':case'TextDisplayMode':case'TextExtent':
	case'TextField':case'TextFieldAutoSize':case'TextFieldType':case'TextFormat':case'TextFormatAlign':
	case'TextLineMetrics':case'TextRenderer':case'TextSnapshot':
		$class = 'flash.text.'+ $class; break;
	case'ContextMenu':case'ContextMenuBuiltInItems':case'ContextMenuClipboardItems':case'ContextMenuItem':
	case'Keyboard':case'KeyLocation':case'Mouse':case'MouseCursor':
		$class = 'flash.ui.'+ $class; break;
	case'ByteArray':case'Dictionary':case'Endian':case'Proxy':case'Timer':
		$class = 'flash.utils.'+ $class; break;
	case'ActivityEvent':case'ContextMenuEvent':case'DataEvent':case'ErrorEvent':case'Event':
	case'EventDispatcher':case'FocusEvent':case'FullScreenEvent':case'HTTPStatusEvent':case'IMEEvent':
	case'IOErrorEvent':case'KeyboardEvent':case'MouseEvent':case'NetStatusEvent':case'ProgressEvent':
	case'SecurityErrorEvent':case'ShaderEvent':case'StatusEvent':case'SyncEvent':case'TextEvent':case'TimerEvent':
		$class = 'flash.events.'+ $class; break;
	case'ApplicationDomain':case'Capabilities':case'IME':case'IMEConversionMode':case'JPEGLoaderContext':
	case'LoaderContext':case'Security':case'SecurityDomain':case'SecurityPanel':case'System':
		$class = 'flash.system.'+ $class; break;
	case'XMLDocument':case'XMLNode':case'XMLNodeType':
		$class = 'flash.xml.'+ $class; break;
	default:
		SELF.error( '알 수 없는 형입니다 - ' + $class );
	}
	return getDefinitionByName( $class ) as Class;
}

